#ifndef __DAT_QUENE_H_H_
#define __DAT_QUENE_H_H_

#include "stdint.h"

#ifdef __cplusplus
extern "C"
{
#endif

	typedef struct
	{
		uint16_t next_fill;
		uint16_t next_get;
		uint16_t element_amount;
		uint16_t element_size;
		void *buff;
	} com_quene_type;

	uint8_t com_quene_fill(com_quene_type *quene, void *dat); 
	uint8_t com_quene_get(com_quene_type *quene, void *dat);  
	uint16_t com_quene_used_amount(com_quene_type *quene);	  
	uint16_t com_quene_remain_amount(com_quene_type *quene);  

	uint8_t com_quene16_fill(com_quene_type *quene, void *dat); 
	uint8_t com_quene16_get(com_quene_type *quene, void *dat);	

	uint8_t com_quene32_fill(com_quene_type *quene, void *dat); 
	uint8_t com_quene32_get(com_quene_type *quene, void *dat);	

#ifdef __cplusplus
}
#endif

#endif 
